//
//  CAIShareKit.h
//  CollagePicture
//
//  Created by simon on 2021/11/31.
//



#import <Foundation/Foundation.h>

@interface ShareMessageModel : NSObject

///内容，只有微信好友有内容，新浪微博没有内容；微信朋友圈没有内容；
@property (nonatomic, copy) NSString *content;

///缩略图 UIImage或者NSData类型或者NSString类型（图片url）
@property (nonatomic, strong) id thumbImage;

///标题；
@property (nonatomic, copy) NSString *title;


/// 类方法
/// @param title 标题
/// @param descr 描述
/// @param thumbImage 缩略图（UIImage或者NSData类型，或者image_url）
+ (id)shareObjectWithTitle:(NSString *)title
                     descr:(NSString *)descr
                thumbImage:(id)thumbImage;
@end




///web分享；微信聊天,wx朋友圈
@interface ShareMessageWebPageModel : ShareMessageModel

///网页url地址，限制长度不超过10KB
@property (nonatomic, copy) NSString *webpageUrl;

@end




/////图文分享；新浪微博；微信朋友圈，微信聊天不支持；
//@interface ShareMessageImageTextModel : ShareMessageModel
//
/////分享单个图片（支持UIImage，NSData以及图片链接Url NSString类对象集合）
/////@note 图片大小根据各个平台限制而定
//@property (nonatomic, strong) id shareImage;
//
//@property (nonatomic, strong) id text;
//
//@end




///纯图片；微信朋友圈，微信聊天
@interface ShareMessageImageModel : ShareMessageModel

///分享单个图片（支持UIImage，NSData以及图片链接Url NSString类对象集合）
///@note 图片大小根据各个平台限制而定
@property (nonatomic, strong) id shareImage;

@end



///纯文本；微信朋友圈，微信聊天
@interface ShareMessageTextModel : ShareMessageModel

@property (nonatomic, strong) id text;


@end


#pragma mark - UMMiniProgramObject

typedef NS_ENUM(NSUInteger, CAIShareWXMiniProgramType){
    CAIShareWXMiniProgramTypeRelease = 0,       //**< 正式版  */
    CAIShareWXMiniProgramTypeTest = 1,        //**< 开发版  */
    CAIShareWXMiniProgramTypePreview = 2,         //**< 体验版  */
};

///wx小程序
///注意事项
///发起分享的App与小程序属于同一微信开放平台帐号。
///支持分享小程序类型消息至会话，暂不支持分享至朋友圈。若客户端版本低于6.5.6或在iPad客户端接收，小程序类型分享将自动转成网页类型分享。开发者必须填写网页链接字段，确保低版本客户端能正常打开网页链接。
@interface ShareMessageMiniProgramModel : ShareMessageModel



/// 必：兼容低版本的网页链接；限制长度不超过10KB
@property (nonatomic, copy) NSString *webpageUrl;


/// 必：小程序userName;小程序原始ID获取方法：登录小程序管理后台-设置-基本设置-帐号信息
@property (nonatomic, copy) NSString *userName;


/// 必：小程序页面的路径;对于小游戏，可以只传入 query 部分，来实现传参效果，如：传入 "?foo=bar"
@property (nonatomic, copy) NSString *path;


/// 小程序新版本的预览图;限制大小不超过128KB，自定义图片建议长宽比是 5:4。
@property (nonatomic, strong) NSData *hdImageData;


/// 小程序的类型，默认正式版，1.8.1及以上版本开发者工具包支持分享开发版和体验版小程序
/// 分享小程序的版本（正式，开发，体验）
/// 正式版 尾巴正常显示
/// 开发版 尾巴显示“未发布的小程序·开发版”
/// 体验版 尾巴显示“未发布的小程序·体验版”
@property (nonatomic, assign) CAIShareWXMiniProgramType miniProgramType;


@end


